﻿//===========================[ 8 / 4 / 2011 LVI ]=============================
//				Copyright c Vitaly Lyaschenko <SkyChameleon@gmail.com>
// 								Header file
// Purpose: cImage содержит RAW данные загруженного изображения 
//=============================================================================
#pragma once

#include "Pyxel.h"
#include "common.h"

#define trueColor 16777215 // 2^8*3

class cImage
{
public:
	cImage();
	cImage( const std::string &fileName );
	~cImage();

	//cImage* create( uint width, uint height, uint format );
	void loadImage( const std::string &fileName );
	bool saveImage( const std::string &fileName );

	uint getWidthImage()  const { return m_width;  }
	uint getHeightImage() const { return m_height; }
	uint getFormatImage() const { return m_format; }
	int  getInternalFormatImage() const { return m_internalFormat; }
	uint getTypeImage()   const { return m_type; }
	uint getDepthImage()  const { return m_type; }
	uint getBppImage()    const { return m_bpp;  }

	//void* getData() { return &m_Data; }
    cPyxel *m_RawData;
	size_t getSizeDataImage() const { return m_size; }

private:
	void loadTga( const std::string &fileName );
	void loadDDS( const std::string &fileName );

	uint m_width,
		 m_height,
		 m_format,
		 m_depth,
		 m_bpp;
	int  m_type;
	int	 m_internalFormat;

	size_t m_size;
};

